<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 作业1 利用递归求100的阶乘  100 * 99 * 98 * 97 * … * 1 = ?
        function jiecheng(num) {

            if (num == 1) {
                return 1;
            }

            return num * jiecheng(num - 1);
        }
        var boss = jiecheng(100);
        console.log(boss)


        // 作业2 创建一个对象 表示学生的信息 （具体信息可以自定义，需求不限）
        // 录入五个学生的信息（姓名，性别，年龄）输出所有学生信息 输出年龄最大的同学名字

        var obj = {
            name: "王琦",
            year: 22,
            height: 180,
            weight: 142
        }
        console.log(obj.name)
        for (var key in obj) {
            console.log(obj[key]);
        }

        // 作业3 编写函数map(arr) 把数组中的每一位数字都增加30%，并返回一个新数组
        function map() {
            var arr = [10, 20, 30];
            var res = [];
            for (var i = 0; i < arr.length; i++) {
                arr[i] *= 1.3;
                res.push(arr[i])
                console.log(res[i]);
            }
        }
        map()

        // 作业4 通过循环按行顺序为一个5×5的二维数组a赋1到25的自然数，然后输出该数组。试编程。
        var arr = [];
        var arr2 = [];
        for (i = 1; i <= 25; i++) {
            arr2.push(i);
            if (i % 5 == 0) {
                arr.push(arr2)
                arr2 = []
            }
        }
        console.log(arr);

        // 作业5 编写函数has(arr , 60) 判断数组中是否存在60这个元素，返回布尔类型
        function has(arr, sum) {
            for (var i = 0; i < arr.length; i++) {
                if (arr[i] === sum) {
                    return true;
                    break;
                }
            }
            return false;
        }
        console.log(has([1, 2, 3, 60, 66, 6], 60))
        
    </script>
</body>

</html>